package demo2;

// Main.java
public class Main {
    public static void main(String[] args) {
        // 1. 创建接收者：灯
        Light livingRoomLight = new Light();

        // 2. 创建具体命令：开灯命令、关灯命令
        Command lightOn = new LightOnCommand(livingRoomLight);
        Command lightOff = new LightOffCommand(livingRoomLight);

        // 3. 创建调用者：遥控器
        RemoteControl remote = new RemoteControl();

        // 4. 测试：按下开灯按钮
        System.out.println("--- 按下开灯按钮 ---");
        remote.setCommand(lightOn);
        remote.pressButton();

        // 5. 测试：按下关灯按钮
        System.out.println("\n--- 按下关灯按钮 ---");
        remote.setCommand(lightOff);
        remote.pressButton();

        // 6. 测试：撤销关灯（即重新开灯）
        System.out.println("\n--- 撤销关灯（开灯）---");
        remote.pressUndo();

        // 7. 测试：撤销开灯（即关灯）
        System.out.println("\n--- 撤销开灯（关灯）---");
        remote.pressUndo();
    }
}
